Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

リトライ処理の改善 #172

Merged
merged 15 commits into from
Mar 6, 2024
Merged

リトライ処理の改善 #172

merged 15 commits into from
Mar 6, 2024

Conversation

Hexa
Copy link
Contributor

@Hexa Hexa commented Mar 4, 2024

This pull request primarily focuses on enhancing the retry mechanism in the service handlers (AmazonTranscribeHandler, PacketDumpHandler, SpeechToTextHandler, and TestHandler) and the server's createSpeechHandler function. The changes introduce a retry count, mutex for thread safety, and methods for updating, getting, and resetting the retry count in the service handlers. The server's createSpeechHandler function has been updated to handle retry logic based on the retry count and configuration settings. There are also configuration changes to specify the maximum retries and retry interval.

Here are the most significant changes:

Retry Mechanism Enhancement:

  • amazon_transcribe_handler.go, packet_dump_handler.go, speech_to_text_handler.go, test_handler.go: Introduced RetryCount and mu (a mutex for thread safety) in the service handlers. Added methods UpdateRetryCount, GetRetryCount, and ResetRetryCount to manage the retry count. These changes enhance the retry mechanism in the service handlers. [1] [2] [3] [4] [5] [6] [7] [8]
  • handler.go: Updated the createSpeechHandler function to handle retry logic based on the retry count and configuration settings. This change enhances the retry mechanism when creating a speech handler. [1] [2] [3]

Configuration Changes:

  • config.go, config_example.ini: Replaced the Retry configuration with MaxRetry and RetryIntervalMs. These changes allow specifying the maximum number of retries and the interval between retries. [1] [2] [3]

Error Handling Improvement:

  • amazon_transcribe.go, errors.go: Added a Retry field to the SuzuError structure to indicate whether an error is retryable. This change improves error handling by providing more information about the nature of the error. [1] [2]

@Hexa Hexa marked this pull request as ready for review March 6, 2024 05:39
@Hexa Hexa requested a review from voluntas March 6, 2024 05:39
@voluntas
Copy link
Member

voluntas commented Mar 6, 2024

@Hexa 変更履歴ほしい

@Hexa
Copy link
Contributor Author

Hexa commented Mar 6, 2024

はい

@Hexa
Copy link
Contributor Author

Hexa commented Mar 6, 2024

@voluntas d1290d1 に追記しました

CHANGES.md Show resolved Hide resolved
CHANGES.md Show resolved Hide resolved
CHANGES.md Outdated
- @Hexa
- [ADD] ハンドラーにリトライ回数を管理するメソッドを追加する
- @Hexa
- [CHANGE] aws への接続時に HTTP ステータスコードが 429 の応答の場合は、指定されたリトライ設定に応じて、再接続を試みるように変更する
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

少し解説追加してほしい、なぜ 429 なのかを簡単にでいいので

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fa9448e

こちらで追記しました

@Hexa Hexa merged commit 6ef5a4d into develop Mar 6, 2024
1 check passed
@Hexa Hexa deleted the feature/improve-retry branch March 6, 2024 07:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants